<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------


// 储存登录前要访问的链接
function setReferer($pathinfo,$url){
	$avoid = ['index/index','index/login','index/logout','index/reg','index/forget','index/wechat_login','users/become_member'];
	if(!in_array($pathinfo,$avoid)){
		session('url_referer',$url);
	}
}

/**
* 模拟alert 重定向某个页面
*/
// function jsBack($msg, $reUrl = null)
// {
// 	echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
// 	if(null != $reUrl){
// 		if(null != $msg){
// 			echo "<script>alert('".$msg."')</script>";
// 		}
// 		echo "<script>location.href='$reUrl'</script>";
// 	}else{
// 		echo "<script>history.go(-1)</script>";
// 	}
// 	if(null != $msg){
// 		echo "<script>alert('".$msg."')</script>";
// 	}
//     exit;
// }


//// 获取登录前要访问的链接
//function getReferer(){
//	$url = session('url_referer');
//	if($url){
//		session('url_referer',null);
//	}else{
//		$url = url('index/index/index');
//	}
//	return $url;
//}
//
//// 添加图片路径
//function picPath($path){
//	if(!empty($path)){
//		return config('pic_config.pic_path').$path;
//	}else{
//		return '';
//	}
//}



// 储存当前用户操作记录
function adminOperationRecord($content=''){
	$data = [
		'uid'      => session('uid'),
		'date'	   => time(),
		'contents' => $content,
	];
	\think\Db::name('sys_log')->insert($data);
}

//// 创蓝短信接口
//function sendSMS($phone,$msg){
//	$account = config('sms_config.account');
//	$password = config('sms_config.password');
//	if(empty($account) || empty($password)){
//		return false;
//	}
//
//	$url = 'http://vsms.253.com/msg/send/json';
//	$query = [
//		'account'	=> $account,
//		'password'  => $password,
//		'msg' 		=> urlencode($msg),
//		'phone' 	=> $phone,
//		'report' 	=> 'true',
//	];
//
//	$query = json_encode($query);
//	$ch = curl_init ();
//	curl_setopt( $ch, CURLOPT_URL, $url );
//	curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
//	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
//	curl_setopt( $ch, CURLOPT_POST, 1 );
//    curl_setopt( $ch, CURLOPT_POSTFIELDS, $query);
//    curl_setopt( $ch, CURLOPT_TIMEOUT,1);
//    curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);
//    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);
//	$data = curl_exec ( $ch );
//	curl_close ( $ch );
//
//	$result	= json_decode($data,true);
//	if($result===null){
//		return false;
//	}else{
//		if(intval($result['code'])!==0){
//			return false;
//		}else{
//			return true;
//		}
//	}
//}
//
//// 发送短信验证码
//function sendVerifyCode($phone,$action='reg'){
//	$actions = array('reg','forget','change_old','change_new');
//	if(!in_array($action,$actions)){
//		$res['code'] = 0;
//		$res['msg'] = '请求错误';
//		return $res;
//	}
//	$hadReg = \think\Db::name('member')->where('phone',$phone)->count();
//	if(($action=='reg' || $action=='change_new')&&$hadReg){
//		$res['code'] = 0;
//		$res['msg'] = '该手机号已注册';
//		return $res;
//	}
//	if(($action=='forget' || $action=='change_old')&&(!$hadReg)){
//		$res['code'] = 0;
//		$res['msg'] = '该手机号尚未注册';
//		return $res;
//	}
//	// 时间内限制重新发送
//	$hadSend = cache('sms_code_'.$phone);
//	if($hadSend){
//		$hadSend = json_decode($hadSend,true);
//		if(time()-$hadSend['time']<60){
//			$res['code'] = 0;
//			$res['msg'] = '请求过于频繁，请60秒后再试';
//			return $res;
//		}
//	}
//
//	$code = mt_rand(100000,999999);
//	$msg = str_ireplace('#code#',$code,config('sms_config.msg'));
//	/*switch($action){
//		case 'reg':
//			$msg = '欢迎注册，您的验证码为：'.$code.'。';
//			break;
//		case 'forget':
//			$msg = '正在找回密码，您的验证码为：'.$code.'。如非本人操作，请忽略本短信。';
//			break;
//		case 'change_old':	case 'change_new':
//		$msg = '正在换绑手机号，您的验证码为：'.$code.'。如非本人操作，请忽略本短信。';
//		break;
//	}*/
//
//	$send = sendSMS($phone,$msg);
//
//	if($send){
//		// 发送成功
//		$data['code'] = $code;
//		$data['time'] = time();
//		$data['action'] = $action;
//		cache('sms_code_'.$phone,json_encode($data),60*30);
//
//		$res['code'] = 1;
//		return $res;
//	}else{
//		// 发送失败
//		$res['code'] = 0;
//		$res['msg'] = '发送失败<br>请稍后重试';
//		return $res;
//	}
//}
//
//// 验证短信验证码
//function checkVerifyCode($phone,$code,$action='reg'){
//	$where['phone']  = $phone;
//	$where['action'] = $action;
//	$find = cache('sms_code_'.$phone);
//	if($find){
//		$find = json_decode($find,true);
//		if($find['code']==$code && $find['action']==$action){
//			cache('sms_code_'.$phone,false);
//			return true;
//		}
//	}
//	return false;
//}
//
//// 把时间格式化，以 . 分割年与日
//function format_spot_date($date){
//	$date = substr($date,0,10);
//	return str_replace('-','.',$date);
//}
//// 截取时间
//function substr_date($date,$start=0,$length){
//	return substr($date,$start,$length);
//}
//// 判断时间是多久之前
//function format_date($date){
//    $time = time()-strtotime($date);
//    $array = ['3600'=>'小时','60'=>'分钟','1'=>'秒'];
//    foreach($array as $k=>$v){
//    	$c = floor($time/(int)$k);
//    	if(0 != $c){
//    		if($c >= 12 && $v=='小时'){
//    			return substr($date,0,16);
//    		}else{
//    			return $c.$v .'前';
//    		}
//    	}
//    }
//}
//// 判断时间是多久之后
//function date_back($date){
//    $time = strtotime($date)-time();
//    $array = ['','一天后','两天后','三天后','四天后','五天后'];
//   	$c = floor($time/(int)86400);
//	$c++;
//    if($c >= 1 && $c <= 5){
//    	return $array[$c];
//    }else{
//    	return '';
//    }
//}
//
//// 字符串截取
//function cutstr($string, $length, $charset = 'utf-8', $dot = '...') {
//	if(strlen($string) <= $length) {
//		return $string;
//	}
//
//	$pre = chr(1);
//	$end = chr(1);
//	$string = str_replace(array('&amp;', '&quot;', '&lt;', '&gt;'), array($pre.'&'.$end, $pre.'"'.$end, $pre.'<'.$end, $pre.'>'.$end), $string);
//
//	$strcut = '';
//	if(strtolower($charset) == 'utf-8') {
//
//		$n = $tn = $noc = 0;
//		while($n < strlen($string)) {
//
//			$t = ord($string[$n]);
//			if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
//				$tn = 1; $n++; $noc++;
//			} elseif(194 <= $t && $t <= 223) {
//				$tn = 2; $n += 2; $noc += 2;
//			} elseif(224 <= $t && $t <= 239) {
//				$tn = 3; $n += 3; $noc += 2;
//			} elseif(240 <= $t && $t <= 247) {
//				$tn = 4; $n += 4; $noc += 2;
//			} elseif(248 <= $t && $t <= 251) {
//				$tn = 5; $n += 5; $noc += 2;
//			} elseif($t == 252 || $t == 253) {
//				$tn = 6; $n += 6; $noc += 2;
//			} else {
//				$n++;
//			}
//
//			if($noc >= $length) {
//				break;
//			}
//
//		}
//		if($noc > $length) {
//			$n -= $tn;
//		}
//
//		$strcut = substr($string, 0, $n);
//
//	} else {
//		for($i = 0; $i < $length; $i++) {
//			$strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
//		}
//	}
//
//	$strcut = str_replace(array($pre.'&'.$end, $pre.'"'.$end, $pre.'<'.$end, $pre.'>'.$end), array('&amp;', '&quot;', '&lt;', '&gt;'), $strcut);
//
//	$pos = strrpos($strcut, chr(1));
//	if($pos !== false) {
//		$strcut = substr($strcut,0,$pos);
//	}
//	return $strcut.$dot;
//}
//function split_Suffix($str){
//	$str = explode('.',$str);
//	return $str[1];
//}
//
//
///**
//    * 导出数据为excel表格
//    *@param $data    一个二维数组,结构如同从数据库查出来的数组
//    *@param $title   excel的第一行标题,一个数组,如果为空则没有标题
//    *@param $filename 下载的文件名
//    *@examlpe
//    * $stu = M ('User');
//    * $arr = $stu -> select();
//    * exportexcel($arr,array('id','账户','密码','昵称'),'文件名!');
//*/
//function exportexcel($data=array(),$title=array(),$filename='report'){
//    header("Content-type:application/octet-stream");
//    header("Accept-Ranges:bytes");
//    header("Content-type:application/vnd.ms-excel");
//    header("Content-Disposition:attachment;filename=".$filename.".xls");
//    header("Pragma: no-cache");
//    header("Expires: 0");
//    //导出xls 开始
//    if (!empty($title)){
//        foreach ($title as $k => $v) {
//            $title[$k]=iconv("UTF-8", "GB2312//IGNORE",$v);
//        }
//        $title= implode("\t", $title);
//        echo "$title\n";
//    }
//    if (!empty($data)){
//        foreach($data as $key=>$val){
//            foreach ($val as $ck => $cv) {
//                $data[$key][$ck]=iconv("UTF-8", "GB2312//IGNORE", $cv);
//            }
//            $data[$key]=implode("\t", $data[$key]);
//
//        }
//        echo implode("\n",$data);
//    }
//}
//
////获取access_token
//function get_token(){
//	$access_data = \think\Db::table('access_token') -> where(['id' => 1])-> find();
//    $accessToken = $access_data['access_token'];
//    $time = $access_data['time'];
//    if(time() - $time > 7100){
//    	$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".config('wechat_config.app_id')."&secret=".config('wechat_config.secret');
//	    $data = json_decode(file_get_contents($url),true);
//	    if($data['access_token']){
//	    	$data_insert['access_token'] = $data['access_token'];
//	    	$data_insert['time'] = time();
//	    	$res = \think\Db::table('access_token') -> where(['id' => 1]) -> update($data_insert);
//	    	if($res){
//	    		 return $data['access_token'];
//	    	}else{
//	    		echo "Error";
//	        	exit();
//	    	}
//
//	    }else{
//	        echo "Error";
//	        exit();
//	    }
//    }else{
//    	return $accessToken;
//    }
//
//}
//
////HTTP get 请求
//function httpGet($url) {
//    $curl = curl_init();
//    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//    curl_setopt($curl, CURLOPT_TIMEOUT, 500);
//    curl_setopt($curl, CURLOPT_URL, $url);
//
//    $res = curl_exec($curl);
//    curl_close($curl);
//
//    return $res;
//}
//
////根据URL地址，下载文件
//function downAndSaveFile($url,$savePath){
//    ob_start();
//    readfile($url);
//    $img  = ob_get_contents();
//    ob_end_clean();
//    $size = strlen($img);
//    $fp = fopen($savePath, 'a');
//    fwrite($fp, $img);
//    fclose($fp);
//}